home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
- A D A P T E C A D A P T E C
-
-
- DATE: December 2, 1989
-
- TO: Dal Allan
-
- FROM: Tom Newman (Adaptec, Inc)
-
- SUBJECT: ATA PDIAG and DASP Timing
-
- ----------------------------------------------------------------------
-
-
-
- This document describes the following timing conditions to be
- included in the ATA specification:
-
- o Power-on Reset
- - One drive
- - Two drives
-
- o Soft Reset
- - One drive
- - Two drives
-
- o Diagnostic Command
- - One drive
- - Two drives
- - Two drives -- drive 1 failed
-
-
- The timings assume the following:
- o DASP- is driven by Drive 1 and received by Drive 0 at Power-on
- Reset time to indicate the present of Drive 1. At all other
- times it is driven by Drive 0 and Drive 1 as the LED BUSY
- indicator.
-
- o PDIAG- is driven by Drive 1 and received by Drive 0. It is
- used by Drive 1 to tell Drive 0 that it has passed diagnostics
- and is ready to accept commands from the Host (BUSY bit is
- cleared). This does not indicate that the drive is Ready,
- only that it can accept commands. This line may remain
- asserted until the next Reset or Diagnostic command is
- received.
-
- o Unless indicated otherwise, all times are relative to the
- event that trigger the operation (RESET-, Soft Reset,
- Diagnostic Command written).
-
-
- POWER-ON RESET -- ONE DRIVE POWER-ON RESET -- ONE DRIVE
-
- -- RESET- asserted for a minimum of 300 nsecs.
- -- Drive 0 sets BUSY within 400 nsecs. after RESET- is negated.
- -- DASP- negated within 1 msec. after RESET- negated.
- -- Perform hardware initialization
-
-
-
- 1
-
-
-
-
-
- -- Reverts to default condition
- -- Drive 0 waits 1 msec. then samples 500 msecs. for DASP-
- asserted from Drive 1.
- -- Drive 0 clears BUSY when ready to accept commands (within 31
- seconds).
-
-
- POWER-ON RESET -- TWO DRIVES POWER-ON RESET -- TWO DRIVES
-
- -- RESET- asserted for a minimum of 300 nsecs.
- -- Drive 0 and Drive 1 set BUSY within 400 nsecs. after RESET-
- negated.
- -- DASP- negated within 1 msec. after RESET- negated.
-
- -DRIVE 1
-
- -- Negate PDIAG- before DASP- is asserted.
- -- Assert DASP- within 500 msecs after RESET- (shows Drive 1
- present).
- -- Perform hardware initialization/internal diagnostics.
- -- Revert to default condition
- -- Post diagnostic results to the ERROR register
- -- Clear BUSY when ready to accept commands.
- -- Assert PDIAG- to show ready to accept commands (within 30
- seconds from RESET-).
- -- Negate DASP- after the first command is received for Drive 1.
- DASP- is also negated if no command is received for Drive 1
- within 30 seconds after RESET-.
-
- --DRIVE 0
-
- -- Perform hardware initialization/internal diagnostics.
- -- Revert to default condition
- -- Post diagnostic results to the ERROR register
- -- After 1 msec., wait 500 msecs. for DASP- to be asserted (from
- Drive 1).
- If DASP- is not asserted, no Drive 1 present (see POWER-ON
- RESET -- ONE DRIVE operation).
- -- Wait up to 31 seconds for Drive 1 to assert PDIAG-,
- If PDIAG- is not asserted, set bit 7 in ERROR register.
- -- Clear BUSY when ready to accept commands (within 31 seconds).
-
-
- SOFT RESET -- ONE DRIVE SOFT RESET -- ONE DRIVE
-
- -- Soft Reset (register 3F6) set by Host.
- -- Wait for Soft Reset cleared by Host.
- -- Drive 0 sets BUSY within 400 nsecs. after Soft Reset is
- cleared.
- -- Perform hardware initialization/internal diagnostics.
- -- Revert to default condition
- -- Post diagnostic results to the ERROR register
- -- Drive 0 clears BUSY when ready to accept commands (within 31
- seconds).
-
-
- SOFT RESET -- TWO DRIVES SOFT RESET -- TWO DRIVES
-
-
-
- 2
-
-
-
-
-
-
- -- Soft Reset (register 3F6) set by Host.
- -- Wait for Soft Reset cleared by Host.
- -- Drive 0 and Drive 1 set BUSY within 400 nsecs. after Soft
- Reset is cleared.
- -- Perform hardware initialization
- -- Revert to default condition
-
- -DRIVE 1
-
- -- Clear BUSY when ready to accept commands.
- -- Negate PDIAG- to show ready to accept commands (within 30
- seconds).
-
- --DRIVE 0
-
- -- Wait up to 31 seconds for Drive 1 to assert PDIAG-.
- -- Clear BUSY when ready to accept commands (within 31 seconds).
-
-
- DIAGNOSTIC COMMAND -- ONE DRIVE (Passed) DIAGNOSTIC COMMAND -- ONE DRIVE (Passed)
-
- -- Drive 0 sets BUSY within 400 nsecs. after Diagnostic command
- received.
- -- Perform hardware initialization and internal diagnostics.
- -- Reset Command Block registers to default condition.
- -- Post diagnostic results to the ERROR register
- -- Drive 0 clears BUSY when ready to accept commands (within 31
- seconds).
-
-
- DIAGNOSTIC COMMAND -- TWO DRIVES (Passed) DIAGNOSTIC COMMAND -- TWO DRIVES (Passed)
-
- -- Drive 0 and Drive 1 set BUSY within 400 nsecs. after
- Diagnostic command received.
-
- --DRIVE 1
-
- -- Negate PDIAG- within 1 msec. after command received.
- -- Perform hardware initialization and internal diagnostics.
- -- Reset Command Block registers to default condition.
- -- Post diagnostic results to the ERROR register
- -- Clear BUSY when ready to accept commands.
- -- Negate PDIAG- to show ready to accept commands (within 5
- seconds).
-
- --DRIVE 0
-
- -- Perform hardware initialization and internal diagnostics.
- -- Reset Command Block registers to default condition.
- -- Wait up to 6 seconds for Drive 1 to assert PDIAG-.
- -- Post diagnostic results to the ERROR register
- -- Clear BUSY when ready to accept commands (within 6 seconds).
-
-
- DIAGNOSTIC COMMAND -- ONE DRIVE (Failed) DIAGNOSTIC COMMAND -- ONE DRIVE (Failed)
-
-
-
-
- 3
-
-
-
-
-
- -- Drive 0 sets BUSY within 400 nsecs. after Diagnostic command
- received.
- -- Perform hardware initialization and internal diagnostics.
- -- Reset Command Block registers to default condition.
- -- Post diagnostic error to the ERROR register (failed)
- -- Drive 0 clears BUSY when ready to accept commands (within 6
- seconds)
-
-
- DIAGNOSTIC COMMAND -- TWO DRIVES (Drive 1 Failed) DIAGNOSTIC COMMAND -- TWO DRIVES (Drive 1 Failed)
-
- -- Drive 0 and Drive 1 set BUSY within 400 nsecs. after
- Diagnostic command received.
-
- -DRIVE 1
-
- -- Negate PDIAG- within 1 msec. after command received.
- -- Perform hardware initialization and internal diagnostics.
- -- Reset Command Block registers to default condition.
- -- Post diagnostic error to the ERROR register
- -- Clear BUSY.
- -- PDIAG- is not negated indicating Drive 1 failed.
-
- --DRIVE 0
-
- -- Perform hardware initialization and internal diagnostics.
- -- Reset Command Block registers to default condition.
- -- Wait 6 seconds for Drive 1 to assert PDIAG- (PDIAG- is not
- asserted).
- -- Post diagnostic results to the ERROR register (bit 7 is set
- showing that Drive 1 failed diagnostics).
- -- Clear BUSY when ready to accept commands (within 6 seconds).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 4
-